package com.dys.ai.entity;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 改签历史实体类
 */
public class TicketChange {
    /**
     * 改签ID
     */
    private int id;

    /**
     * 改签前的订单编号
     */
    private Long originalOrderId;

    /**
     * 改签后的订单编号
     */
    private Long newOrderId;

    /**
     * 改签后的座位编号
     */
    private Long newSeatId;

    /**
     * 改签后的车次编号
     */
    private Long newTrainId;

    /**
     * 改签时间
     */
    private LocalDateTime changeTime;

    /**
     * 改签手续费
     */
    private BigDecimal changeFee;

    /**
     * 票价差额
     */
    private BigDecimal priceDiff;

    /**
     * 原车次票价（用于手续费计算）
     */
    private BigDecimal originalTrainPrice;

    public TicketChange() {
    }

    public TicketChange(int id, Long originalOrderId, Long newOrderId, Long newSeatId, Long newTrainId, LocalDateTime changeTime, BigDecimal changeFee, BigDecimal priceDiff, BigDecimal originalTrainPrice) {
        this.id = id;
        this.originalOrderId = originalOrderId;
        this.newOrderId = newOrderId;
        this.newSeatId = newSeatId;
        this.newTrainId = newTrainId;
        this.changeTime = changeTime;
        this.changeFee = changeFee;
        this.priceDiff = priceDiff;
        this.originalTrainPrice = originalTrainPrice;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Long getOriginalOrderId() {
        return originalOrderId;
    }

    public void setOriginalOrderId(Long originalOrderId) {
        this.originalOrderId = originalOrderId;
    }

    public Long getNewOrderId() {
        return newOrderId;
    }

    public void setNewOrderId(Long newOrderId) {
        this.newOrderId = newOrderId;
    }

    public Long getNewSeatId() {
        return newSeatId;
    }

    public void setNewSeatId(Long newSeatId) {
        this.newSeatId = newSeatId;
    }

    public Long getNewTrainId() {
        return newTrainId;
    }

    public void setNewTrainId(Long newTrainId) {
        this.newTrainId = newTrainId;
    }

    public LocalDateTime getChangeTime() {
        return changeTime;
    }

    public void setChangeTime(LocalDateTime changeTime) {
        this.changeTime = changeTime;
    }

    public BigDecimal getChangeFee() {
        return changeFee;
    }

    public void setChangeFee(BigDecimal changeFee) {
        this.changeFee = changeFee;
    }

    public BigDecimal getPriceDiff() {
        return priceDiff;
    }

    public void setPriceDiff(BigDecimal priceDiff) {
        this.priceDiff = priceDiff;
    }

    public BigDecimal getOriginalTrainPrice() {
        return originalTrainPrice;
    }

    public void setOriginalTrainPrice(BigDecimal originalTrainPrice) {
        this.originalTrainPrice = originalTrainPrice;
    }

    @Override
    public String toString() {
        return "TicketChange{" +
                "id=" + id +
                ", originalOrderId=" + originalOrderId +
                ", newOrderId=" + newOrderId +
                ", newSeatId=" + newSeatId +
                ", newTrainId=" + newTrainId +
                ", changeTime=" + changeTime +
                ", changeFee=" + changeFee +
                ", priceDiff=" + priceDiff +
                ", originalTrainPrice=" + originalTrainPrice +
                '}';
    }
}
